const prodURL = 'http://123.57.73.64:50003';
const devURL = 'http://123.57.73.64:50003';//http://y9z4tbq4.xiaomy.net本地http://192.168.3.3:50001http://192.168.3.44:50001http://47.105.75.185:50001
const baseURL = process.env.NODE_ENV == 'development' ? devURL : prodURL;
/**
 * GET请求封装
 */
function get(url, data = {}) {
	return request(url, data, 'GET')
}

/**
 * POST请求封装
 */
function post(url, data = {}) {
	return request(url, data, 'POST')
}

/**
 * 微信的request
 */
function request(url, data = {}, method = "GET") {
	return new Promise(function(resolve, reject) {
		uni.request({
			url: baseURL + url,
			method: method,
			header: {
				'app-token': uni.getStorageSync('token')?uni.getStorageSync('token'):'',
				'content-type':'application/x-www-form-urlencoded'
			},
			data: data,
			success: res => {
				// console.log('===============================================================================================')
				// console.log('==    接口地址：' + baseURL + url)
				// console.log('==    接口参数：' + JSON.stringify(data))
				// console.log('==    请求类型：' + method)
				// console.log("==    接口状态：" + res.statusCode);
				// console.log('===============================================================================================')
				if (res.statusCode == 200) {
					//请求正常200
					if (res.data.code == 200) {
						//正常
						resolve(res.data);
					} else {
						//错误
						wx.showModal({
							title: '错误提示',
							content: res.data.message,
							showCancel: false,
						})
						uni.hideLoading();
						reject(res.data)
					}
				} else if (res.statusCode == 401) {
					//此处验证了token的登录失效，如果不需要，可以去掉。
					//未登录，跳转登录界面
					reject("登录已过期")
					wx.showModal({
						title: '提示',
						content: '登录已过期，请立即登录，否则无法正常使用',
						success(res) {
							if (res.confirm) {
								console.log('用户点击确定')
								wx.navigateTo({
									url: '/pages/user/login',//?toPageUrl=401
								})
							} else if (res.cancel) {
								console.log('用户点击取消')
								uni.navigateBack({
									delta: 1
								});
							}
							uni.removeStorageSync('userInfo');
							uni.removeStorageSync('token');
							uni.hideLoading();
						}
					})
				} else {
					//请求失败
					reject("请求失败：" + res.statusCode)
				}
			},
			fail: () => {
				//服务器连接异常
				console.log('===============================================================================================')
				console.log('==    接口地址：' + baseURL + url)
				console.log('==    接口参数：' + JSON.stringify(data))
				console.log('==    请求类型：' + method)
				console.log("==    服务器连接异常")
				console.log('===============================================================================================')
				reject("服务器连接异常，请检查网络再试")
			}
		});
	});
}

module.exports = {
	baseURL,
	request,
	get,
	post
}
